草庐IT

JavaScript setTimeout 无法访问函数变量

全部标签

javascript - 函数参数中的解构和重构?

我正在尝试通过解构来使用命名函数参数和默认值。functiondoSomething({arg1="foo",arg2="bar"}={}){console.log(arg1,arg2);}但我也想访问整个对象,以防用户添加一些额外的字段。这实际上不起作用,但我正在拍摄这样的东西:functiondoSomething(parameters={arg1="foo",arg2="bar"}={}){console.log(arg1,arg2,parameters);//parametersshouldcontainarg1andarg2,plusanyadditionalusersupp

javascript - 创建一个接受单词数组作为输入的函数

在网上看到这个白板挑战,似乎无法弄清楚。帮助!创建一个接受单词数组作为输入的函数。您的函数应该返回一个数组,其中包含所有可以使用字母表中的字母键入的单词,这些字母只能在标准美式QWERTY键盘的单行上访问。例如://givenletwords=['sup','dad','tree','snake','pet'];keyboardWords(words);//return['dad','tree','pet'];这就是我的进展。consttopKeys=['q','w','e','r','t','y','u','i','o','p'];constmiddleKeys=['a','s','

javascript - 有没有可能在调用构造函数之前就知道 'this'这个对象呢?

在ES6类之前,函数可以用作构造函数:functionMyClass(a,b){}那么,下面的代码就相当于一个经典的实例化(比如letthisObj=newMyClass("A","B")):letthisObj=Object.create(MyClass.prototype)//Hereweknowthe`this`objectbeforetocalltheconstructor.//Then,theconstructoriscalledmanually:MyClass.call(thisObj,"A","B")...这种技术是一种在调用构造函数之前了解this对象的方法。但是Fun

Javascript 代码块作为函数的参数

鉴于这段代码(我得到的一个React组件的简化):constmyFn=function({otherFn=()=>{console.log('insidemyFndeclaration');return'true'}}){console.log('InsidemyFn2',otherFn());foo(otherFn);bar(otherFn);...}myFn({name:'somename',type:'sometype'});//output://insidemyFndeclaration//InsidemyFn2true我不明白那里发生了什么。这是什么构造?我指的是“myFn(

javascript - 如何将一个类的所有方法绑定(bind)到javascript中的 'this'变量

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。社区在1年前审查了是否重新打开这个问题,然后将其关闭:原始关闭原因未解决Improvethisquestion我有一个JavaScript类(MyClass),它公开了两个公共(public)函数(funA和funB),如下所示:varMyClass=function(){this.funA=function(){console.log("functionA");this.funB();};this.funB=function

javascript - 将环境变量与常量进行比较时,字符串比较在 Javascript 中不起作用

我们有一个简单的React应用程序,使用CRA1.x创建。我们安装了dotenv以在项目上使用环境变量,我们的变量包含在.env和.env.development文件中,例如这个:.envREACT_APP_LOGGER=LOGGER.env.developmentREACT_APP_LOGGER=NO_LOGGER然后在代码中我们有这样的逻辑:if(process.env.REACT_APP_LOGGER==="LOGGER"){//dosomething}在development模式下使用webpack4进行本地构建时,if为真,而在production模式下为false。但在az

javascript - 当您使用新的 Checkout 按钮时,PayPal 如何禁用浏览器的工具栏访问

当您单击APIv2中的PayPal按钮时,浏览器的工具栏等也会变灰且无法访问。当PayPal进程完成时,它会重新启用。这些操作与模态弹出窗口相同,但它适用于整个浏览器。大概这是PayPalAPI中内置的一个函数,但我不认为这是可能的,但它显然是可能的。有人知道执行此操作的脚本吗? 最佳答案 我认为这是Firefox的特性。我解释:当您尝试使用Paypal帐户付款时,它会打开一个新的浏览器窗口,用于对您的Paypal帐户进行身份验证(因此网站本身不知道您在输入什么-安全原因)。当Firefox启动这个新窗口时,它会禁用“父”窗口交互。

javascript - 具有相同名称的变量和函数在 block 内返回错误

如果我们声明一个变量和一个同名的函数,它正在接受重新声明。但是当我们在一个block中做同样的事情时,它会显示重新声明错误。代码:varx;functionx(){};//noerror.但在这种情况下,我遇到了错误。{varinside;//re-declarationerror.functioninside(){};}预期结果应该没有错误。 最佳答案 这是EcmaScript6的一个变化。从ES6开始,block范围内不再允许重复绑定(bind)。ES5spec没有这样的限制但是在ES6spec语义已更改:13.2.1Stati

javascript - 将事件处理程序绑定(bind)到文档并通过 useEffect 访问 firebase api 数据

快速版:我的最终目标是执行类似下面链接的操作,但每个useEffect对firebase进行异步调用,其中列表数据由firebase对象内容组成。https://codesandbox.io/s/usage-pxfy7问题在下面的代码中,useEffect封装了对firebase执行ping操作并取回一些称为“客户端”的数据的代码。数据已完美检索。然后我使用useState将该数据存储到useState的两个不同实例中。数据存储在clientList和clientListForRender中。到目前为止一切顺利。现在问题开始了。我有第三个useState实例,它接受一个数字。我想为文档

javascript - 脚本语言中变量的内存分配是如何完成的?

例如,在javascript中我可以说varx=5;以后我可以做x='a';然后x="hello";那么,如何为变量分配内存呢?事实上,所有变量都有一个共同的类型“var”,并且变量的值可以在运行时更改,如上所示。为这些变量分配和管理内存不是一件很困难的事情吗?具体是怎么做到的? 最佳答案 Python使用一种称为referencecounting的技术,这基本上是在值中放置一个计数器。每次创建对值的引用时,计数器都会递增。当对该值的引用丢失时(例如,当您将新值分配给“x”时),该值将递减。当计数器达到零时,这意味着不存在对该值的引